import request from '@/utils/request'

// 查询所有检查申请
export function getAllCheckRequests() {
  return request.get('/check-requests')
}

// 按条件查询检查申请
export function searchCheckRequests(params) {
  return request({
    url: '/check-requests/search',
    method: 'post',
    data: params,  // 使用 data 而不是 params
    headers: {
      'Content-Type': 'application/json'
    }
  })
}

// 检查申请 API 封装
export function fetchAll(params) {
  // 可支持关键字与项目类型过滤（后端若暂未实现条件查询，可在前端过滤）
  return request({
    url: '/check-requests',
    method: 'get',
    params
  })
}

export function fetchByCondition(data) {
  return request({
    url: '/check-requests/search',
    method: 'post',
    data
  })
}

export function fetchDetail(id) {
  return request({
    url: `/check-requests/${id}`,
    method: 'get'
  })
}
// 新增检查申请
export function addCheckRequest(data) {
  return request.post('/check-requests', data)
}

// 编辑检查申请
export function updateCheckRequest(id, data) {
  return request.put(`/check-requests/${id}`, data)
}

// 删除检查申请
export function deleteCheckRequest(id) {
  return request.delete(`/check-requests/${id}`)
}

// 作废：调用删除或更新状态，这里先用更新（若需保留数据可选择 update）
export function cancelRequest(id) {
  // 简单方案：更新 checkState 为 已作废
  return request({
    url: `/check-requests/${id}`,
    method: 'put',
    data: { checkState: '已作废' }
  })
}

// 开始检查：设置医生并将状态改为检查中
export function startCheck(id, employeeId) {
  return request({
    url: `/check-requests/${id}/start`,
    method: 'put',
    params: { employeeId }
  })
}

// 结果录入：查询检查中列表（可筛选）
export function listForInput(params) {
  return request({
    url: '/check-requests/input',
    method: 'get',
    params
  })
}

// 结果录入：提交结果 (result 为文本)
export function submitResult(id, employeeId, result) {
  return request({
    url: `/check-requests/${id}/result`,
    method: 'put',
    params: { employeeId },
    // 后端目前接收纯字符串，可按需要改成 {result}
    data: result,
    headers: { 'Content-Type': 'text/plain;charset=utf-8' }
  })
}
